home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d21 / dvmulti.arc / DVMULTI.H < prev    next >
C/C++ Source or Header  |  1989-10-25  |  4KB  |  113 lines

  1. /* Include file for multi-tasking test program
  2.  
  3.     1989    MIPS Magazine / Mark Mallett
  4.  
  5. */
  6.  
  7. #ifndef    TRUE
  8. #define    TRUE    1
  9. #define    FALSE    0
  10. #endif    /* TRUE */
  11.  
  12. typedef    char        BYTE;
  13. typedef    unsigned char    UBYTE;
  14. typedef    short int    WORD;
  15. typedef    unsigned short int    UWORD;
  16. typedef    long        LONG;
  17. typedef    unsigned long    ULONG;
  18.  
  19.  
  20. #define    DVVER        0x201
  21. #define    MAXSLAVES    20
  22.  
  23. /* Drive and directory where the executables will reside */
  24. #define    TESTDRIVE    'C'
  25. #define    TESTDIR        "\\DT"
  26.  
  27. /* Number of bytes of overhead added by the ftab() macro */
  28. #define    FTABBASE    7
  29.  
  30. /* Display attributes */
  31. #define    ATTR_REVERSE    9
  32. #define    ATTR_ERROR    5
  33.  
  34. /* SUPER/SLAVE message codes */
  35. #define    MSG_CONFIG    1        /* Configuration & startup */
  36. #define    MSG_READY    2        /* SLAVE is ready */
  37. #define    MSG_GO        3        /* SLAVE should go */
  38. #define    MSG_STOP    4        /* SLAVE should stop */
  39. #define    MSG_REPORT    5        /* Report message */
  40.  
  41.  
  42. typedef                    /* Configuration & startup message */
  43.   struct {
  44.     int        cm_taskN;        /* Task sequence number */
  45.     int        cm_ioC;            /* I/O count */
  46.     long    cm_fsize;        /* Size of test file */
  47.     int        cm_xsize;        /* Size of I/O transfers */
  48.     int        cm_iobufC;        /* Number of I/O buffers */
  49.     char    cm_readF;        /* Read test */
  50.     char    cm_writeF;        /* Write test */
  51.     char    cm_seqF;        /* Sequential (or random) */
  52.     long    cm_cpuC;        /* CPU cycles */
  53.     long    cm_sleep;        /* Sleep time */
  54.   }  CNMSG;
  55.  
  56.  
  57. typedef                    /* Report message */
  58.   struct {
  59.     long    rm_loopC;        /* Number of loops */
  60.     int        rm_tick;        /* Tick resolution */
  61.     ULONG    rm_alltime;        /* All time */
  62.     ULONG    rm_readtime;        /* Time spent reading */
  63.     ULONG    rm_writetime;        /* Time spent writing */
  64.     ULONG    rm_cputime;        /* Time spent in CPU exercise */
  65.   } RSMSG;
  66.  
  67.  
  68. #pragma pack(1)
  69. typedef                    /* Structure of DVP data */
  70.   struct {
  71.     WORD    dvp_rsv1;        /* Reserved */
  72.     char    dvp_title[30];        /* Title */
  73.     WORD    dvp_maxmem;        /* Max memory required, in K */
  74.     WORD    dvp_minmem;        /* Min memory required, in K */
  75.     char    dvp_execcmd[64];    /* Execution command */
  76.     char    dvp_drive;        /* Default drive name */
  77.     char    dvp_dir[64];        /* Default directory */
  78.     char    dvp_parms[64];        /* Program parameters */
  79.     char    dvp_scrmode;        /* Screen mode */
  80.     UBYTE    dvp_tpages;        /* # of text pages */
  81.     UBYTE    dvp_firstvec;        /* First interrupt vector saved */
  82.     UBYTE    dvp_lastvec;        /* Last vector saved */
  83.     UBYTE    dvp_lrows;        /* Logical rows in window */
  84.     UBYTE    dvp_lcols;        /* Logical cols in window */
  85.     UBYTE    dvp_irow;        /* Initial row */
  86.     UBYTE    dvp_icol;        /* Initial column */
  87.     UWORD    dvp_sysmem;        /* System memory in K */
  88.     char    dvp_shrprg[64];        /* Shared program name */
  89.     char    dvp_shrdata[64];    /* Shared data */
  90.     UBYTE    dvp_ctlbyte1;        /* Control byte */
  91.     UBYTE    dvp_ctlbyte2;        /* Second control byte */
  92.     char    dvp_startkeys[2];    /* Start keys for open menu */
  93.     UWORD    dvp_scriptsize;        /* Size of script buffer */
  94.     UWORD    dvp_keypause;        /* Pause after this many keytries */
  95.     UBYTE    dvp_cmapdisable;    /* Disable color map */
  96.     UBYTE    dvp_swappable;        /* If can swap */
  97.     UBYTE    dvp_rsv2[3];        /* More reserved */
  98.     UBYTE    dvp_eclose;        /* Close on exit */
  99.     UBYTE    dvp_copyprot;        /* Requires copyprotected disk */
  100.     UBYTE    dvp_rsv3;        /* Reserved -- must be 1 */
  101.     UBYTE    dvp_shrmem;        /* Use shared mem? */
  102.     UBYTE    dvp_prows;        /* Physical rows */
  103.     UBYTE    dvp_pcols;        /* Physical columns */
  104.     UWORD    dvp_expmem;        /* KB of expanded memory available */
  105.     UBYTE    dvp_ctlbyte3;        /* More control */
  106.     UBYTE    dvp_kbdconf;        /* Keyboard conflict level */
  107.     UBYTE    dvp_graphpages;        /* # of graphics pages */
  108.     UWORD    dvp_sysmem2;        /* System memory size (more so) */
  109.     UBYTE    dvp_iniscrmode;        /* Initial screen mode */
  110.     UBYTE    dvp_rsv4[22];        /* Reserved */
  111.   } DVP;
  112. #pragma pack()
  113.